﻿using System;
using System.Collections.Generic;
//using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;
using System.Runtime.Caching;


namespace Test
{
    //public class HexstringtoByte
    //{
    //    public static byte[] decodeHex(string hex)
    //    {
    //        char[] chars = hex.ToCharArray();

    //        byte[] bytes = new byte[chars.Length / 2];
    //        int byteCount = 0;
    //        for (int i = 0; i < chars.Length; i += 2)
    //        {
    //            byte newByte = 0x00;
    //            newByte |= hexCharToByte(chars[i]);
    //            newByte <<= 4;
    //            newByte |= hexCharToByte(chars[i + 1]);
    //            bytes[byteCount] = newByte;
    //            byteCount++;
    //        }
    //        return bytes;
    //    }
    //    private static byte hexCharToByte(char ch)
    //    {
    //        switch (ch)
    //        {
    //            case '0': return 0x00;
    //            case '1': return 0x01;
    //            case '2': return 0x02;
    //            case '3': return 0x03;
    //            case '4': return 0x04;
    //            case '5': return 0x05;
    //            case '6': return 0x06;
    //            case '7': return 0x07;
    //            case '8': return 0x08;
    //            case '9': return 0x09;
    //            case 'a': return 0x0A;
    //            case 'b': return 0x0B;
    //            case 'c': return 0x0C;
    //            case 'd': return 0x0D;
    //            case 'e': return 0x0E;
    //            case 'f': return 0x0F;
    //        }
    //        return 0x00;
    //    }
    //}


    public class TestItem
    {
        public string Key { get; set; }
        public byte[] Data { get; set; }
    }

    class Program
    {

        static void Main(string[] args)
        {
            string k = "24234324";
            char code = k[0];



            return;
            var cp = new CacheItemPolicy();
            //cp.SlidingExpiration = new TimeSpan(0, 0, 3600);

            var cache = new MemoryCache("mtest");
            
            for (int i = 0; i < 10; i++)
            {
                var ci = new CacheItem("test" + i, new byte[10], "test");
                cache.Add(ci, cp);
            }



            var cache1 = new MemoryCache("mtest");
            var item = cache1["test1"]; //返回null




            Console.Read();


        }



        //        public static long IpToInt(string ip)
        //        {
        //            if (!string.IsNullOrEmpty(ip))
        //            {
        //                string[] array = ip.Split(new char[] { '.' });
        //                if (array.Length == 4)
        //                {
        //                    return long.Parse(array[0]) << 24
        //                      | long.Parse(array[1]) << 16
        //                      | long.Parse(array[2]) << 8
        //                      | long.Parse(array[3]);
        //                }
        //            }

        //            return 0L;
        //        }

        //        static void Main(string[] args)
        //        {

        //            using (WebClient wc = new WebClient())
        //            {

        //                var fd = new System.Collections.Specialized.NameValueCollection();
        //                fd["test"] = string.Empty;

        //                string url = "http://m.yiwan.com/?XPCD=" + System.Web.HttpUtility.UrlEncode(@"
        //<?xml version=""1.0"" encoding=""utf-16""?>
        //<config xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">
        //  <bipn>986871561</bipn>
        //  <eipn>986871563</eipn>
        //  <bdate>2016-06-04T13:01:54.0971851+08:00</bdate>
        //  <edate>2016-06-04T13:01:54.0961858+08:00</edate>
        //  <btime>636006421140951865</btime>
        //  <etime>636006426540000000</etime>
        //  <data>123</data>
        //  <rule>(htm|html)$</rule>
        //</config>
        //
        //");

        //                var datab = wc.DownloadData(url);

        //                Console.WriteLine(Encoding.ASCII.GetString(datab));

        //            }

        //            Console.Read();

        //            return;

        //            var n1 = IpToInt("254.254.254.254");
        //            var n2 = IpToInt("254.254.254.254");

        //            Console.WriteLine(n1);
        //            Console.WriteLine(n2);

        //            Console.Read();
        //            return;
        //            var d1 = new DateTime(2016, 5, 27, 11, 23, 22);
        //            var d2 = new DateTime(2016, 5, 27, 11, 23, 25);

        //            long tt = (d2 - d1).Ticks;

        //            Console.WriteLine(tt);


        //            Console.Read();
        //            return;

        //            string hexstring = "0x485454502F312E3120323030204F4B0D0A43616368652D436F6E74726F6C3A20707269766174650D0A436F6E74656E742D456E636F64696E673A20677A69700D0A";


        //            byte[] datax = HexstringtoByte.decodeHex(hexstring);
        //            string str = Encoding.UTF8.GetString(datax);

        //            Console.WriteLine(str);

        //            return;

        //            var uri = new Uri("http://m.yiwan.com/views/news/item.cshtml?id=132402");
        //            StringBuilder hs = new StringBuilder();
        //            hs.AppendFormat("{0} {1} HTTP/1.1\r\n", "GET", uri.PathAndQuery);
        //            hs.AppendFormat("Host: {0}\r\n", uri.Host);
        //            hs.AppendFormat("Connection: close\r\n");
        //            //hs.AppendFormat("Accept-Encoding: gzip\r\n");

        //            hs.AppendFormat("\r\n");



        //            string headers = hs.ToString();

        //            var hc = new Common.HttpClient();

        //            var data = hc.GetData(new IPEndPoint(IPAddress.Parse("120.131.71.42"), 80), headers);

        //            if (data == null)
        //            {
        //                Console.WriteLine("data is null");
        //            }
        //            else
        //            {

        //                Console.WriteLine("data.length:" + data.ContentLength);
        //            }




        //            if (data.Headers.AllKeys.Contains("Server"))
        //            {
        //                data.Headers.Remove("Server");
        //            }

        //            if (data.Headers.AllKeys.Contains("Connection"))
        //            {
        //                data.Headers.Remove("Connection");
        //            }

        //            if (data.Headers.AllKeys.Contains("Content-Length"))
        //            {
        //                data.Headers.Remove("Content-Length");
        //            }

        //            if (data.Headers.AllKeys.Contains("Date"))
        //            {
        //                data.Headers.Remove("Date");
        //            }

        //            if (data.Headers.AllKeys.Contains("Transfer-Encoding"))
        //            {
        //                data.Headers.Remove("Transfer-Encoding");
        //            }



        //            StringBuilder headersx = new StringBuilder();
        //            headersx.Append(data.Scheme);
        //            headersx.Append(" ");
        //            headersx.Append(data.StatusCode.ToString());
        //            headersx.Append(" ");
        //            headersx.Append(data.StatusDescription);
        //            headersx.Append("\r\n");

        //            foreach (string k in data.Headers.Keys)
        //            {



        //                string v = data.Headers[k];
        //                headersx.Append(k);
        //                headersx.Append(": ");
        //                headersx.Append(v);
        //                headersx.Append("\r\n");
        //            }

        //            string contentX = headersx.ToString();

        //            Console.Read();







        //            using (var fs = File.Create("data.data"))
        //            {
        //                fs.Write(data.BodyData, 0, data.BodyData.Length);
        //            }



        //            //string html = Encoding.UTF8.GetString(Common.GZip.GZipDecompress(data.BodyData));

        //            //Console.WriteLine(html);

        //            string html = Encoding.UTF8.GetString((data.BodyData));

        //            Console.WriteLine(html);




        //            Console.Read();
        //        }
    }
}
